Refactoring Object-Z specifications
نویسنده
چکیده
This paper describes an approach to transferring techniques of refactorings to formal methods. We use syntactical rewriting rules to express refactorings on Object-Z specifications. In contrast to programming languages here refactorings can be formally proven to preserve the behaviour of the specification. We give an outline of such a proof of behaviour preservation.
منابع مشابه
Refactoring Object-Oriented Specifications with Data and Processes
Refactoring is a method for improving the structure of programs/specifications as to enhance readability, modularity and reusability. Refactorings are required to be behaviour-preserving in that – to an external observer – no difference between the program before and after refactoring is visible. In this paper, we develop refactorings for an object-oriented specification formalism combining a s...
متن کاملRefactoring in maintenance and development of Z specifications
Once you have proved your refinement correct, that is not the end. Real products, and their accompanying specifications, develop over time, with new improved versions having added functionality. There are new maintenance issues that arise when altering and upgrading pre-existing large specifications and their respective proofs. We show how concepts from refactoring can be used to structure this...
متن کاملA Minimal Set of Refactoring Rules for Object-Z
This paper presents a minimal and complete set of structural refactoring rules for the Object-Z specification language that allow for the derivation of arbitrary object-oriented architectures. The rules are equivalence preserving and work in concert with existing class refinement theory, so that any design derived using the rule set can be shown to be equivalent to, or a refinement of, the orig...
متن کاملAn Approach to Transformational Reengineering of SSADM Application Specifications to Object-Oriented Specifications
متن کامل
A Set of Refactoring Rules for UML-B Specifications
UML-B is a graphical formal modelling notation which is based on UML and relies on Event-B and its verification tools. In this paper, we propose annealing and introduce subtyping rules as well-known refactoring rules which can improve and assist the derivation of object-oriented design from an abstract specification written in UML-B. We prove that the proposed annealing rules are behavior prese...
متن کامل